home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / DRVLIB.NIC / SKTOKNT / OEMSETUP.INF < prev    next >
INI File  |  1996-07-31  |  38KB  |  1,235 lines

  1. ; Setup script for SK-NET Token Ring cards
  2. [Identification]
  3.     OptionType = NetAdapter
  4.  
  5. [PlatformsSupported]
  6.     ;ISA
  7.     ;EISA
  8.     ;"Jazz-Internal Bus"
  9.     ;MCA
  10.     PCI
  11.  
  12. [Options]
  13.     SKTOKNT_PCI
  14.     SKTOKNT_EISA
  15.     SKTOKNT_ISA
  16.     SKTOKNT_MCA
  17.  
  18. [EISASlots]
  19.     Slot_1    =  1
  20.     Slot_2    =  2
  21.     Slot_3    =  3
  22.     Slot_4    =  4
  23.     Slot_5    =  5
  24.     Slot_6    =  6
  25.     Slot_7    =  7
  26.     Slot_8    =  8
  27.     Slot_9    =  9
  28.     Slot_10 = 10
  29.     Slot_11 = 11
  30.     Slot_12 = 12
  31.     Slot_13 = 13
  32.     Slot_14 = 14
  33.     Slot_15 = 15
  34.  
  35. [MCASlots]
  36.     Slot_1    = 1
  37.     Slot_2    = 2
  38.     Slot_3    = 3
  39.     Slot_4    = 4
  40.     Slot_5    = 5
  41.     Slot_6    = 6
  42.     Slot_7    = 7
  43.     Slot_8    = 8
  44.  
  45. [PCISlots]
  46.     Slot_1    =  1
  47.     Slot_2    =  2
  48.     Slot_3    =  3
  49.     Slot_4    =  4
  50.     Slot_5    =  5
  51.     Slot_6    =  6
  52.     Slot_7    =  7
  53.     Slot_8    =  8
  54.     Slot_9    =  9
  55.     Slot_10 = 10
  56.     Slot_11 = 11
  57.     Slot_12 = 12
  58.     Slot_13 = 13
  59.     Slot_14 = 14
  60.     Slot_15 = 15
  61. [IrqLevel]
  62.     IRQ_3    = "3"
  63.     IRQ_5    = "5"
  64.     IRQ_9    = "9"
  65.     IRQ_10    = "10"
  66.     IRQ_11    = "11"
  67.     IRQ_12    = "12"
  68.     IRQ_15    = "15"
  69. [IOAddrChoices]
  70.     IOAddr_1    = "0x0A20", 2592
  71.     IOAddr_2    = "0x1A20", 6688
  72.     IOAddr_3    = "0x0B20", 2848
  73.     IOAddr_4    = "0x1B20", 6944
  74.     IOAddr_5    = "0x0980", 2434
  75.     IOAddr_6    = "0x1980", 6528
  76.     IOAddr_7    = "0x0900", 2304
  77.     IOAddr_8    = "0x1900", 6400
  78. [DmaChannels]
  79.     DMA_0    = "None"
  80.     DMA_5    = "5"
  81.     DMA_6    = "6"
  82.     DMA_7    = "7"
  83. [DataRates]
  84.     DataRate4    = "4"
  85.     DataRate16ETR    = "16 ETR"
  86.     DataRate16    = "16"
  87. [PacketSizes]
  88.     PacketSize1    = 548
  89.     PacketSize2    = 1502
  90.     PacketSize3    = 2084
  91.     PacketSize4    = 4504
  92.     PacketSize5    = 8176
  93.     PacketSize6    = 11439
  94.     PacketSize7    = 17832
  95. [FileConstants]
  96.     ParamInf        = "NCPARAM.INF"
  97.     UtilityInf        = "UTILITY.INF"
  98.     subroutineinf        = "SUBROUTN.INF"
  99.     SoftwareType        = "driver"
  100.     Exit_Code        = 0
  101.     NetEventDLL        = "%SystemRoot%\System32\netevent.dll"
  102.     IoLogMsgDLL        = "%SystemRoot%\System32\IoLogMsg.dll"
  103.     TokenRingCards        = { SKTOKNT }
  104.     Manufacturer        = "SysKonnect"
  105.     PCIVendorID        = 4424
  106.     EISACompressedIDPlus    = 13853773
  107.     EISACompressedID    = 13722701
  108.     MCAIDLo         = 36
  109.     MCAIDHi         = 8
  110.     PCIDeviceID        = 16896
  111.     EISASlotList        = ^(EISASlots, 1)
  112.     MCASlotList        = ^(MCASlots, 1)
  113.     PCISlotList        = ^(PCISlots, 1)
  114.     IoBaseAddressHexList    = ^(IOAddrChoices, 1)
  115.     IoBaseAddressDecList    = ^(IOAddrChoices, 2)
  116.     IrqList            = ^(IrqLevel, 1)
  117.     DmaChannelList        = ^(DmaChannels, 1)
  118.     DataRateList        = ^(DataRates, 1)
  119.     EarlyList        = ^(Earlies, 1)
  120.     PacketSizeList        = ^(PacketSizes, 1)
  121.     DefaultIo        = "0x0A20"
  122.     DefaultIrq        = 9
  123.     DefaultDma        = 5
  124.     DefaultRate        = 16
  125.     DefaultEarly        = "On"
  126.     DefaultPacketSize    = 4504
  127.     ProductMajorVersion    = "2"
  128.     ProductMinorVersion    = "02"
  129.     ProductSoftwareName    = "SKTOKNT"
  130.     ProductSoftwareImagePath= "\SystemRoot\System32\Drivers\SKTOKNT.sys"
  131.     NetRuleSoftwareType    = "sktokntSys ndisDriver sktokntDriver"
  132.     NetRuleSoftwareBindForm = """SKTOKNTSys"" yes no container"
  133.     NetRuleSoftwareClass    = {"sktokntDriver basic"}
  134.     NetRuleSoftwareBindable = {"sktokntDriver sktokntAdapter non exclusive 100"}
  135.     ProductHardwareName    = "SKTOKNT"
  136.     NetRuleHardwareType    = "sktoknt sktokntAdapter"
  137.     NetRuleHardwareClass    = {"sktokntAdapter basic"}
  138.     ProductVersion        = $(ProductMajorVersion)"."$(ProductMinorVersion)
  139.     NetRuleHardwareBindForm = " yes yes container"
  140.     ProductKeyName        = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"+
  141.                   $(ProductSoftwareName)"\CurrentVersion"
  142.     ParamKeyName        = $(!NTN_ServiceBase)$(ProductHardwareName)"\Parameters"
  143.     NetRuleSoftwareUse    = $(SoftwareType)
  144. [GeneralConstants]
  145.     from            = ""
  146.     to            = ""
  147.     ExitCodeOk        = 0
  148.     ExitCodeCancel        = 1
  149.     ExitCodeFatal        = 2
  150.     KeyNull         = ""
  151.     MAXIMUM_ALLOWED     = 33554432
  152.     RegistryErrorIndex    = NO_ERROR
  153.     KeyProduct        = ""
  154.     KeyParameters        = ""
  155.     TRUE            = 1
  156.     FALSE            = 0
  157.     NoTitle         = 0
  158.     ExitState        = "Active"
  159.     OldVersionExisted    = $(FALSE)
  160.     DriverPath        = $(!STF_NTPATH)\drivers
  161. [date]
  162.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  163. [Identify]
  164.     read-syms Identification
  165.     Set Status    = STATUS_SUCCESSFUL
  166.     Set Identifier    = $(OptionType)
  167.     Set Media    = #("Source Media Descriptions", 1, 1)
  168.     Return $(Status) $(Identifier) $(Media)
  169. [ReturnOptions]
  170.     Set Status        = STATUS_FAILED
  171.     Set OptionList        = {}
  172.     Set OptionTextList    = {}
  173.     Set LanguageList    = ^(LanguagesSupported, 1)
  174.     IfContains(i) $($0) in $(LanguageList)
  175.         IfStr(i) $($1) == ""
  176.             goto returnoptions
  177.         EndIf
  178.         Set PlatformList = ^(PlatformsSupported, 1)
  179.         IfContains(i) $($1) in $(PlatformList)
  180.             goto returnoptions
  181.         Else
  182.             Set Status = STATUS_NOTSUPPORTED
  183.             goto finish_ReturnOptions
  184.         EndIf
  185.     Else
  186.         Set Status = STATUS_NOLANGUAGE
  187.         goto finish_ReturnOptions
  188.     EndIf
  189. returnoptions = +
  190.     Set OptionList        = ^(Options, 1)
  191.     Set OptionTextList    = ^(OptionsText$($0), 1)
  192.     Set Status        = STATUS_SUCCESSFUL
  193. finish_ReturnOptions = +
  194.     Return $(Status) $(OptionList) $(OptionTextList)
  195. [InstallOption]
  196.     Set InfOption        = $($1)
  197.     Set Option        = $($1)
  198.     IfStr(i) $(Option) == SKTOKNT_PCI
  199.         Set Option = SKTOKNT
  200.     Else-IfStr(i) $(Option) == SKTOKNT_EISA
  201.         Set Option = SKTOKNT
  202.     Else-IfStr(i) $(Option) == SKTOKNT_MCA
  203.         Set Option = SKTOKNT
  204.     Else-IfStr(i) $(Option) == SKTOKNT_ISA
  205.         Set Option = SKTOKNT
  206.         Set NoEisaConfig = TRUE
  207.     EndIf
  208.     Set SrcDir        = $($2)
  209.     Set AddCopy        = $($3)
  210.     Set DoCopy        = $($4)
  211.     Set DoConfig        = $($5)
  212.     Set LanguageList    = ^(LanguagesSupported, 1)
  213.     IfContains(i) $($0) NOT-IN $(LanguageList)
  214.         Return STATUS_NOLANGUAGE
  215.     EndIf
  216.     Set-subst LF = "\n"
  217.     read-syms GeneralConstants
  218.     read-syms FileConstants
  219.     read-syms DialogConstants$(!STF_LANGUAGE)
  220.     IfStr(i) $(!NTN_Origination) == "NCPA"
  221.         Set Continue = $(OK)
  222.     EndIf
  223.     read-syms FileConstants$(!STF_LANGUAGE)
  224.     detect date
  225.     Set-title  $(Function$(Option)Title)
  226.     Set to            = Begin
  227.     Set from        = Begin
  228.     Set CommonStatus    = STATUS_SUCCESSFUL
  229.     EndWait
  230. Begin = +
  231.     Set ActivateDetection = FALSE
  232.     Set BusNumList = {}
  233.     Set Combo1List = {}
  234.     IfStr(i) $(!NTN_InstallMode) == deinstall
  235.         Goto checkmode
  236.     EndIf
  237.  
  238.     Set BusNumber        = 0
  239.     Set BusInterfaceType    = 1
  240.     Set BusTypeStr        = "Isa"
  241.     IfStr(i) *($(!STF_BUSTYPELIST),1) == ""
  242.         Shell $(UtilityInf), GetBusTypeNum
  243.         Set BusTypeNum = $($R1)
  244.     Else
  245.         Set BusTypeList    = {}
  246.         Set NumBusTypes    = 0
  247.         Set PlatformList = ^(PlatformsSupported, 1)
  248.         ForListDo $(!STF_BUSTYPELIST)
  249.             IfContains(i) $($) In $(PlatformList)
  250.                 Set BusTypeList    = >($(BusTypeList),$($))
  251.                 Set-Add NumBusTypes = $(NumBusTypes), 1
  252.                 IfStr(i) $($) == "EISA"
  253.                     Set BusTypeList    = >($(BusTypeList),+
  254.                       "ISA")
  255.                     Set-Add NumBusTypes = $(NumBusTypes), 1
  256.                 EndIf
  257.             EndIf
  258.         EndForListDo
  259.         IfStr(i) $(InfOption) == SKTOKNT_PCI
  260.             Set BusTypeNum = 5
  261.             IfContains(i) "PCI" NOT-IN $(BusTypeList)
  262.                 Set Error = "Error: No PCI bus in system."
  263.                 Goto fatal
  264.             EndIf
  265.         Else-IfStr(i) $(InfOption) == SKTOKNT_EISA
  266.             Set BusTypeNum = 2
  267.             IfContains(i) "EISA" NOT-IN $(BusTypeList)
  268.                 Set Error = "Error: No EISA bus in system."
  269.                 Goto fatal
  270.             EndIf
  271.         Else-IfStr(i) $(InfOption) == SKTOKNT_ISA
  272.             Set BusTypeNum = 1
  273.             IfContains(i) "ISA" NOT-IN $(BusTypeList)
  274.                 Set Error = "Error: No ISA bus in system."
  275.                 Goto fatal
  276.             EndIf
  277.         Else-IfStr(i) $(InfOption) == SKTOKNT_MCA
  278.             Set BusTypeNum = 3
  279.             IfContains(i) "MCA" NOT-IN $(BusTypeList)
  280.                 Set Error = "Error: No MCA bus in system."
  281.                 Goto fatal
  282.             EndIf
  283.         EndIf
  284.     EndIf
  285.  
  286.     IfStr(i) $(NoEisaConfig) == TRUE
  287.         Set BusInterfaceType = 1
  288.     Else-IfInt $(BusTypeNum) == 0
  289.         Set BusInterfaceType = 2
  290.     Else
  291.         Set BusInterfaceType = $(BusTypeNum)
  292.     EndIf
  293.  
  294.     IfInt $(BusInterfaceType) == 1
  295.         Set BusTypeStr = "Isa"
  296.     Else-IfInt $(BusInterfaceType) == 2
  297.         Set BusTypeStr = "Eisa"
  298.     Else-IfInt $(BusInterfaceType) == 3
  299.         Set BusTypeStr = "Mca"
  300.     Else-IfInt $(BusInterfaceType) == 5
  301.         Set BusTypeStr = "Pci"
  302.     EndIf
  303.  
  304.     IfStr(i) $(BusTypeStr) == "Eisa"
  305.         Shell $(UtilityInf), EISAFindBus, $(EISACompressedIDPlus), -1
  306.         IfInt $($R0) == "NO_ERROR"
  307.             ForListDo $($R1)
  308.                 Set BusNum    = *($($),1)
  309.                 Set SlotNum    = *($($),2)
  310.                 IfInt $(BusNum) == $(BusNumber)
  311.                     Set Combo1List    = >($(Combo1List),$(SlotNum)" (4/16+)")
  312.                 EndIf
  313.             EndForListDo
  314.         EndIf
  315.         Shell $(UtilityInf), EISAFindBus, $(EISACompressedID), -1
  316.         IfInt $($R0) == "NO_ERROR"
  317.             ForListDo $($R1)
  318.                 Set BusNum    = *($($),1)
  319.                 Set SlotNum    = *($($),2)
  320.                 IfInt $(BusNum) == $(BusNumber)
  321.                     Set Combo1List    = >($(Combo1List),$(SlotNum)" (4/16)")
  322.                 EndIf
  323.             EndForListDo
  324.         EndIf
  325.         IfStr(i) $(Combo1List) == {}
  326.             Set Error    = "Error: No "+
  327.                       $(ProductHardwareSKTOKNTTitle)+
  328.                       " installed. Please check EISA configuration."
  329.             Goto fatal
  330.         Else
  331.             Shell $(UtilityInf) SortList $(Combo1List) TRUE FALSE
  332.             Set Combo1List = $($R0)
  333.         EndIf
  334.     Else-IfStr(i) $(BusTypeStr) == "Mca"
  335.         Shell $(UtilityInf), MCAFindBus, $(MCAIDLo), $(MCAIDHi)
  336.         IfInt $($R0) == NO_ERROR
  337.             ForListDo $($R1)
  338.                 Set BusNum    = *($($),1)
  339.                 Set SlotNum    = *($($),2)
  340.                 IfInt $(BusNum) == $(BusNumber)
  341.                     Set Combo1List    = >($(Combo1List),$(SlotNum))
  342.                 EndIf
  343.             EndForListDo
  344.         EndIf
  345.         IfStr(i) $(Combo1List) == {}
  346.             Set Error    = "Error: No "+
  347.                       $(ProductHardwareSKTOKNTTitle)+
  348.                       " installed."
  349.             Goto fatal
  350.         EndIf
  351.     Else-IfStr(i) $(BusTypeStr) == "Pci"
  352.         Shell $(UtilityInf), GetPCIInformation,+
  353.             $(PCIVendorID), $(PCIDeviceID)
  354.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  355.             Goto ShellCodeError
  356.         EndIf
  357.         IfStr(i) $($R0) == {}
  358.             Set Error = $(CANNOT_FIND_ANY_CARD)
  359.             Set CommonStatus = STATUS_USERCANCEL
  360.             Set from = end
  361.             Goto nonfatal
  362.         EndIf
  363.         ForListDo $($R0)
  364.             Set BusNum    = *($($),1)
  365.             Set SlotNum    = *($($),2)
  366.             Set Combo1List    = >($(Combo1List),$(BusNum)" / "$(SlotNum))
  367.         EndForListDo
  368.         IfStr(i) $(Combo1List) == {}
  369.             Set Error    = "Error: No "+
  370.                       $(ProductHardwareSKTOKNTTitle)+
  371.                       " installed."
  372.             Goto fatal
  373.         EndIf
  374.     EndIf
  375.  
  376. checkmode = +
  377.     IfStr(i) $(!NTN_InstallMode) == deinstall
  378.         Set StartLabel = removeadapter
  379.     Else-IfStr(i) $(!NTN_InstallMode) == Update
  380.         Set StartLabel = UpgradeSoftware
  381.     Else-IfStr(i) $(!NTN_InstallMode) == bind
  382.         Set StartLabel = bindingadapter
  383.     Else-IfStr(i) $(!NTN_InstallMode) == configure
  384.         Set CommonStatus = STATUS_REBOOT
  385.         Set StartLabel = configureadapter
  386.         IfStr(i) $(ProductKeyName) == $(!NTN_RegBase)
  387.             Shell $(UtilityInf), RegistryErrorString, CANNOT_CONFIGURE_SOFTWARE
  388.             IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  389.                 goto ShellCodeError
  390.             EndIf
  391.             Set Error    = $($R0)
  392.             Set from    = end
  393.             Set to        = end
  394.             goto nonfatalinfo
  395.         EndIf
  396.     Else
  397.         Set AddCopy                     = "YES"
  398.         Set DoCopy                      = "YES"
  399.         Set !STF_SRCDIR_OVERRIDE        = $(SrcDir)
  400.         IfStr(i) $(DoCopy) == "YES"
  401.             IfStr(i) $(!STF_SRCDIR_OVERRIDE) != ""
  402.                 Install Install-Helpfile
  403.             EndIf
  404.         EndIf
  405.         Set StartLabel            = installadapter
  406.         Set OEM_ABANDON_OPTIONS     = {}
  407.         Set OEM_ABANDON_SOFTWARE    = FALSE
  408.         Set OEM_ABANDON_ON        = TRUE
  409.     EndIf
  410.     IfStr(i) $(BusTypeStr) == "Isa"
  411.         Set IoBaseValue = *($(IoBaseAddressDecList),+
  412.                   ~($(IoBaseAddressHexList), $(DefaultIo)))
  413.         Set IrqLevel    = *($(IrqList), ~($(IrqList), $(DefaultIrq)))
  414.         Set DmaChannel    = *($(DmaChannelList), ~($(DmaChannelList), $(DefaultDma)))
  415.     Else-IfStr(i) $(BusTypeStr) == "Pci"
  416.         Set PseudoDma    = "OFF"
  417.         Set BIOSFix    = "OFF"
  418.     EndIf
  419.     Set DataRate = *($(DataRateList), ~($(DataRateList), $(DefaultRate)))
  420.     Set EarlyTokenRelease = $(DefaultEarly)
  421.     Set PacketSize = *($(PacketSizeList), ~($(PacketSizeList), $(DefaultPacketSize)))
  422.     Set DetectedCard = FALSE
  423.     IfStr(i) $(ActivateDetection) != TRUE
  424.         Goto skipdetection
  425.     EndIf
  426.     IfStr(i) $(BusTypeStr) == "Isa"
  427.         Set TypeList    = {{IOADDR,IoBaseAddressDecList,IoBaseValue},+
  428.                   {IRQ,IrqList,IrqLevel},+
  429.                   {DMACHANNEL,DmaChannelList,DmaChannel},+
  430.                   {EARLYTOKENRELEASE,EarlyList,EarlyTokenRelease},+
  431.                   {DATARATE,DataRateList,DataRate},+
  432.                   {PACKETSIZE,PacketSizeList,PacketSize}}
  433.     Else-IfStr(i) $(BusTypeStr) == "Eisa"
  434.         Set TypeList    = {{SLOT,EISASlotList,SlotNumber},+
  435.                   {EARLYTOKENRELEASE,EarlyList,EarlyTokenRelease},+
  436.                   {DATARATE,DataRateList,DataRate},+
  437.                   {PACKETSIZE,PacketSizeList,PacketSize}}
  438.     Else-IfStr(i) $(BusTypeStr) == "Mca"
  439.         Set TypeList    = {{SLOT,MCASlotList,SlotNumber},+
  440.                   {EARLYTOKENRELEASE,EarlyList,EarlyTokenRelease},+
  441.                   {DATARATE,DataRateList,DataRate},+
  442.                   {PACKETSIZE,PacketSizeList,PacketSize}}
  443.     Else-IfStr(i) $(BusTypeStr) == "Pci"
  444.         Set TypeList    = {{SLOT,PCISlotList,SlotNumber},+
  445.                   {EARLYTOKENRELEASE,EarlyList,EarlyTokenRelease},+
  446.                   {DATARATE,DataRateList,DataRate},+
  447.                   {PACKETSIZE,PacketSizeList,PacketSize}}
  448.     EndIf
  449.     Shell $(ParamInf), Param_BuildTypeLists, SKTOKNT, $(TypeList)
  450.     Set Status = $($R0)
  451.     IfStr(i) $(Status) != STATUS_SUCCESSFUL
  452.         Goto fatal
  453.     EndIf
  454.     Shell $(ParamInf), Param_SetDefaults, {}
  455.     IfStr(i) $(!STF_NCDETECT) == YES
  456.         IfStr(i) $(!STF_NCOPTION) == $(Option)
  457.             Set DetectedCard = TRUE
  458.         EndIf
  459.     EndIf
  460. skipdetection = +
  461.     Set from    = $(fatal)
  462.     Set to        = $(fatal)
  463.     goto $(StartLabel)
  464. installadapter = +
  465.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  466.     IfStr $(KeyProduct) != $(KeyNull)
  467.         CloseRegKey $(KeyProduct)
  468.         IfStr(i) !(NTN_RegBase) == $(ProductKeyName)
  469.             Shell $(UtilityInf), VerExistedDlg, $(ProductSoftware$(Option)Title),+
  470.               $(ProductVersion)
  471.             IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  472.                 goto ShellCodeError
  473.             EndIf
  474.             goto end
  475.         Else
  476.             Shell $(UtilityInf), CardExistedDlg
  477.             IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  478.                 goto ShellCodeError
  479.             EndIf
  480.             IfStr(i) $($R1) != "OK"
  481.                 Set CommonStatus = STATUS_USERCANCEL
  482.                 goto end
  483.             EndIf
  484.             Set OldVersionExisted = $(TRUE)
  485.         EndIf
  486.     EndIf
  487.     IfStr(i) $(DetectedCard) != TRUE
  488.         Goto adaptersetup
  489.     EndIf
  490.     StartWait
  491.     Shell $(ParamInf), Param_QueryCard, $(!STF_NCDETCARD)
  492.     EndWait
  493.     IfStr(i) $($R0) != STATUS_SUCCESSFUL
  494.         Goto adaptersetup
  495.     EndIf
  496.     Set DetectedParams = $($R1)
  497.     Shell $(ParamInf), Param_SetDefaults, $(DetectedParams)
  498.     goto adapteroptions
  499. configureadapter = +
  500.     IfStr $(KeyProduct) == $(KeyNull)
  501.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  502.         IfStr $(KeyProduct) == $(KeyNull)
  503.             Set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  504.             goto fatalregistry
  505.         EndIf
  506.     EndIf
  507.     Shell $(UtilityInf), FindService, $(KeyProduct)
  508.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  509.         Goto ShellCodeError
  510.     EndIf
  511.     IfStr(i) $($R0) != NO_ERROR
  512.         Goto fatalregistry
  513.     EndIf
  514.     Set KeyParameters = $($R2)
  515.     CloseRegKey $($R1)
  516.     IfStr $(KeyParameters) == $(KeyNull)
  517.         Set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  518.         goto fatalregistry
  519.     EndIf
  520.     Set OldVersionExisted    = $(TRUE)
  521.     Set ValueName        = ""
  522.     Set ValueData        = ""
  523.     Set ValueStr        = ""
  524.     Set ValueList        = {}
  525.     EnumRegValue $(KeyParameters) ValueList
  526.     ForListDo $(ValueList)
  527.         Set ValueItem    = $($)
  528.         Set ValueName    = *($(ValueItem),1)
  529.         Set ValueData    = *($(ValueItem),4)
  530.         IfStr(i) $(ValueName) == "DmaChannel"
  531.             Set DmaChannel        = $(ValueData)
  532.         Else-IfStr(i) $(ValueName) == "InterruptNumber"
  533.             Set IrqLevel        = $(ValueData)
  534.         Else-IfStr(i) $(ValueName) == "IoBaseAddress"
  535.             Set IoBaseValue     = $(ValueData)
  536.         Else-IfStr(i) $(ValueName) == "MemoryMappedBaseAddress"
  537.             Set MemAddrDec        = $(ValueData)
  538.         Else-IfStr(i) $(ValueName) == "SlotNumber"
  539.             Set SlotNumber        = $(ValueData)
  540.         Else-IfStr(i) $(ValueName) == "NetworkAddress"
  541.             Set NetworkAddress    = $(ValueData)
  542.         Else-IfStr(i) $(ValueName) == "BIOSFix"
  543.             Set BIOSFix        = $(ValueData)
  544.         Else-IfStr(i) $(ValueName) == "DataRate"
  545.             Set DataRate        = $(ValueData)
  546.         Else-IfStr(i) $(ValueName) == "EarlyTokenRelease"
  547.             Set EarlyTokenRelease    = $(ValueData)
  548.         Else-IfStr(i) $(ValueName) == "PseudoDma"
  549.             Set PseudoDma        = $(ValueData)
  550.         Else-IfStr(i) $(ValueName) == "PacketSize"
  551.             Set PacketSize        = $(ValueData)
  552.         EndIf
  553.         IfStr(i) $(BusTypeStr) == "Pci"
  554.             IfStr(i) $(ValueName) == "BusNumber"
  555.                 Set BusNumber        = $(ValueData)
  556.             EndIf
  557.         EndIf
  558.     EndForListDo
  559. adaptersetup = +
  560.     IfStr(i) $(DetectedCard) == TRUE
  561.         IfStr(i) $(!STF_INSTALL_MODE) != CUSTOM
  562.             Goto adapterverify
  563.         EndIf
  564.     EndIf
  565.     goto adapteroptions
  566. adapteroptions = +
  567.     Set from = adapteroptions
  568.     IfStr(i) $(BusTypeStr) == "Isa"
  569.         Set IoBaseAddress    = *($(IoBaseAddressHexList),+
  570.                       ~($(IoBaseAddressDecList),+
  571.                       $(IoBaseValue)))
  572.     EndIf
  573.     IfInt $(DataRate) == 16
  574.         IfStr(i) $(EarlyTokenRelease) == "On"
  575.             Set DataRate = "16 ETR"
  576.         EndIf
  577.     EndIf
  578.     IfStr(i) $(BusTypeStr) == "Eisa"
  579.         ForListDo $(Combo1List)
  580.             IfInt $(SlotNumber) == $($)
  581.                 Set SlotNumber = $($)
  582.             EndIf
  583.         EndForListDo
  584.     EndIf
  585.     IfStr(i) $(BusTypeStr) == "Pci"
  586.         Set SlotNumber = $(BusNumber)" / "$(SlotNumber)
  587.     EndIf
  588.     Goto adapteroptions2
  589. adapteroptions2 = +
  590.     read-syms FileDependentDlg$(BusTypeStr)$(!STF_LANGUAGE)
  591.     LoadLibrary "disk3" $(HelpFile).dll hLib
  592.     SetHelpFile $(HelpFile).hlp $(MinID) $(MaxID)
  593.     ui start "InputDlg" $(hLib)
  594.     FreeLibrary $(hLib)
  595.     IfStr(i) $(DLGEVENT) == "CONTINUE"
  596.         Set NetworkAddress = *($(EditTextOut),1)
  597.         IfStr(i) $(BusTypeStr) == "Isa"
  598.             Set IrqLevel        = $(Combo2Out)
  599.             Set DmaChannel        = $(Combo3Out)
  600.             Set DataRate        = $(Combo4Out)
  601.             Set PacketSize        = $(Combo5Out)
  602.             IfStr(i) $(IoBaseAddress) != $(Combo1Out)
  603.                 Shell $(subroutineinf), SetupMessage,+
  604.                   $(!STF_LANGUAGE), "NONFATAL", $(DipSwitchInfo)
  605.             EndIf
  606.             Set IoBaseAddress    = $(Combo1Out)
  607.         Else-IfStr(i) $(BusTypeStr) == "Pci"
  608.             Split-String $(Combo1Out) "/" Combo1Elements
  609.             Set BusNumber   = *($(Combo1Elements),1)
  610.             Set SlotNumber  = *($(Combo1Elements),3)
  611.             Set DataRate    = $(Combo2Out)
  612.             Set PacketSize    = $(Combo3Out)
  613.             IfStr(i) $(BusTypeStr) == "Pci"
  614.                 Set PseudoDma =  *($(CheckItemsOut), 1)
  615.                 Set BIOSFix =  *($(CheckItemsOut), 2)
  616.             EndIf
  617.         Else
  618.             Set SlotNumber    = $(Combo1Out)
  619.             Set DataRate    = $(Combo2Out)
  620.             Set PacketSize    = $(Combo3Out)
  621.             IfStr(i) $(BusTypeStr) == "Pci"
  622.                 Set PseudoDma =  *($(CheckItemsOut), 1)
  623.                 Set BIOSFix =  *($(CheckItemsOut), 2)
  624.             EndIf
  625.         EndIf
  626.         Set EarlyTokenRelease = "Off"
  627.         IfInt $(DataRate) == 16
  628.             IfStr(i) $(DataRate) == "16 ETR"
  629.                 Set DataRate = 16
  630.                 Set EarlyTokenRelease = "On"
  631.             EndIf
  632.         EndIf
  633.         ui pop 1
  634.     Else-IfStr(i) $(DLGEVENT) == "BACK"
  635.         Set CommonStatus = STATUS_USERCANCEL
  636.         ui pop 1
  637.         goto end
  638.     Else
  639.         ui pop 1
  640.         goto end
  641.     EndIf
  642.     IfStr(i) $(BusTypeStr) == "Isa"
  643.         Set IoBaseValue = *($(IoBaseAddressDecList),+
  644.                   ~($(IoBaseAddressHexList),$(IoBaseAddress)))
  645.     EndIf
  646. adapterverify = +
  647.     IfStr(i) $(DetectedCard) != TRUE
  648.         Goto skipoptions
  649.     EndIf
  650.     Shell $(ParamInf), Param_VerifyCard, $(!STF_NCDETCARD)
  651.     IfStr(i) $($R0) == STATUS_SUCCESSFUL
  652.         Goto skipoptions
  653.     EndIf
  654.     Set from    = adapteroptions
  655.     Set to        = skipoptions
  656.     Shell $(UtilityInf), RegistryErrorString, VERIFY_WARNING
  657.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  658.         goto ShellCodeError
  659.     EndIf
  660.     Set Error = $($R0)
  661.     Goto Warning
  662. skipoptions = +
  663.     IfInt $(OldVersionExisted) == $(TRUE)
  664.         IfStr(i) $(!NTN_InstallMode) == configure
  665.             goto writeparameters
  666.         EndIf
  667.     EndIf
  668.     StartWait
  669.     IfInt $(OldVersionExisted) == $(FALSE)
  670.         IfStr(i) $(!NTN_InstallMode) == "install"
  671.             IfStr(i) $(DoCopy) == "YES"
  672.                 Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir), YES
  673.                 IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  674.                     Goto ShellCodeError
  675.                 Else-IfStr(i) $($R0) == STATUS_FAILED
  676.                     Shell $(UtilityInf),+
  677.                       RegistryErrorString, "ASK_SOURCE_FAIL"
  678.                     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  679.                         goto ShellCodeError
  680.                     EndIf
  681.                     Set Error = $($R0)
  682.                     Goto fatal
  683.                 Else-IfStr(i) $($R0) == STATUS_USERCANCEL
  684.                     Goto successful
  685.                 EndIf
  686.                 Set SrcDir = $($R1)
  687.             EndIf
  688.             install "Install-Option"
  689.             IfStr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  690.                 Shell $(UtilityInf), RegistryErrorString, "UNABLE_COPY_FILE"
  691.                 IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  692.                     goto ShellCodeError
  693.                 EndIf
  694.                 Set Error = $($R0)
  695.                 goto fatal
  696.             EndIf
  697.         EndIf
  698.         Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer),+
  699.           $(ProductSoftwareName), $(ProductSoftwareName),+
  700.           $(ProductSoftware$(Option)Title), $(STF_CONTEXTINFNAME),+
  701.           $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  702.           $(NetEventDLL)
  703.         Set OEM_ABANDON_SOFTWARE = TRUE
  704.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  705.             goto ShellCodeError
  706.         EndIf
  707.         Set RegistryErrorIndex = $($R0)
  708.         IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  709.             EndWait
  710.             CloseRegKey $($R1)
  711.             CloseRegKey $($R2)
  712.             CloseRegKey $($R3)
  713.             CloseRegKey $($R4)
  714.             CloseRegKey $($R5)
  715.             goto fatalregistry
  716.         EndIf
  717.         Set SoftProductKey    = $($R1)
  718.         Set SoftNetRuleKey    = $($R2)
  719.         Set SoftServiceKey    = $($R3)
  720.         Set SoftParameterKey    = $($R4)
  721.         Set SoftLinkageKey    = $($R5)
  722.         Set NewValueList    = {+
  723.           {SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  724.           {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  725.           {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  726.           {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftware$(Option)Title)},+
  727.           {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftware$(Option)Description)},+
  728.           {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  729.           {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}+
  730.         }
  731.         Shell $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
  732.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  733.             goto ShellCodeError
  734.         EndIf
  735.         Set RegistryErrorIndex = $($R0)
  736.         IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  737.             EndWait
  738.             CloseRegKey $(SoftProductKey)
  739.             CloseRegKey $(SoftNetRuleKey)
  740.             CloseRegKey $(SoftServiceKey)
  741.             CloseRegKey $(SoftParameterKey)
  742.             CloseRegKey $(SoftLinkageKey)
  743.             goto fatalregistry
  744.         EndIf
  745.         Set NewValueList    = {+
  746.           {type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  747.           {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)},+
  748.           {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)},+
  749.           {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)},+
  750.           {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)},+
  751.           {InfOption,$(NoTitle),$(!REG_VT_SZ),$(InfOption)}+
  752.         }
  753.         Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  754.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  755.             goto ShellCodeError
  756.         EndIf
  757.         Set RegistryErrorIndex = $($R0)
  758.         CloseRegKey $(SoftProductKey)
  759.         CloseRegKey $(SoftNetRuleKey)
  760.         CloseRegKey $(SoftServiceKey)
  761.         CloseRegKey $(SoftParameterKey)
  762.         CloseRegKey $(SoftLinkageKey)
  763.         IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  764.             EndWait
  765.             goto fatalregistry
  766.         EndIf
  767.     EndIf
  768.     Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),+
  769.       $(STF_CONTEXTINFNAME), $(ProductKeyName)
  770.     IfInt $($R4) != -1
  771.         Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS),+
  772.           $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  773.     EndIf
  774.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  775.         goto ShellCodeError
  776.     EndIf
  777.     Set RegistryErrorIndex = $($R0)
  778.     IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  779.         EndWait
  780.         CloseRegKey $($R1)
  781.         CloseRegKey $($R2)
  782.         CloseRegKey $($R3)
  783.         goto fatalregistry
  784.     EndIf
  785.     Set KeyParameters    = $($R3)
  786.     Set KeyAdapterRules    = $($R2)
  787.     Set AdapterNumber    = $($R4)
  788.     Set NewValueList    = {+
  789.       {Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  790.       {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
  791.       {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
  792.       {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  793.       {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  794.       {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}+
  795.     }
  796.     Shell $(UtilityInf), AddValueList, $($R1), $(NewValueList)
  797.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  798.         goto ShellCodeError
  799.     EndIf
  800.     CloseRegKey $($R1)
  801.     Set TempProdName    = """"$(ProductHardwareName)$(AdapterNumber)""""
  802.     Set TempBindForm    = $(TempProdName)$(NetRuleHardwareBindForm)
  803.     Set NewValueList    = {+
  804.       {type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  805.       {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)},+
  806.       {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)},+
  807.       {InfOption,$(NoTitle),$(!REG_VT_SZ),$(InfOption)}+
  808.     }
  809.     Shell $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  810.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  811.         goto ShellCodeError
  812.     EndIf
  813.     Set RegistryErrorIndex = $($R0)
  814.     IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  815.         EndWait
  816.         CloseRegKey $(KeyParameters)
  817.         CloseRegKey $(KeyAdapterRules)
  818.         goto fatalregistry
  819.     EndIf
  820.     CloseRegKey $(KeyAdapterRules)
  821.     goto writeparameters
  822. writeparameters = +
  823.     IfContains $(Option) in $(TokenRingCards)
  824.         Set CardMediaType = 2
  825.         IfStr(i) $(BusTypeStr) == "Isa"
  826.             Set NewValueList = {+
  827.               {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  828.               {MediaType,$(NoTitle),$(!REG_VT_DWORD),$(CardMediaType)},+
  829.               {InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(IrqLevel)},+
  830.               {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
  831.               {IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(IoBaseValue)},+
  832.               {DmaChannel,$(NoTitle),$(!REG_VT_DWORD),$(DmaChannel)},+
  833.               {NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(NetworkAddress)},+
  834.               {EarlyTokenRelease,$(NoTitle),$(!REG_VT_SZ),$(EarlyTokenRelease)},+
  835.               {DataRate,$(NoTitle),$(!REG_VT_DWORD),$(DataRate)},+
  836.               {PacketSize,$(NoTitle),$(!REG_VT_DWORD),$(PacketSize)},+
  837.             }
  838.         Else-IfStr(i) $(BusTypeStr) == "Eisa"
  839.             Set NewValueList = {+
  840.               {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  841.               {MediaType,$(NoTitle),$(!REG_VT_DWORD),$(CardMediaType)},+
  842.               {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
  843.               {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNumber)},+
  844.               {NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(NetworkAddress)},+
  845.               {EarlyTokenRelease,$(NoTitle),$(!REG_VT_SZ),$(EarlyTokenRelease)},+
  846.               {DataRate,$(NoTitle),$(!REG_VT_DWORD),$(DataRate)},+
  847.               {PacketSize,$(NoTitle),$(!REG_VT_DWORD),$(PacketSize)},+
  848.             }
  849.         Else-IfStr(i) $(BusTypeStr) == "Mca"
  850.             Set NewValueList = {+
  851.               {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  852.               {MediaType,$(NoTitle),$(!REG_VT_DWORD),$(CardMediaType)},+
  853.               {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
  854.               {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNumber)},+
  855.               {NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(NetworkAddress)},+
  856.               {EarlyTokenRelease,$(NoTitle),$(!REG_VT_SZ),$(EarlyTokenRelease)},+
  857.               {DataRate,$(NoTitle),$(!REG_VT_DWORD),$(DataRate)},+
  858.               {PacketSize,$(NoTitle),$(!REG_VT_DWORD),$(PacketSize)},+
  859.             }
  860.         Else-IfStr(i) $(BusTypeStr) == "Pci"
  861.             Set NewValueList = {+
  862.               {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  863.               {MediaType,$(NoTitle),$(!REG_VT_DWORD),$(CardMediaType)},+
  864.               {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
  865.               {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNumber)},+
  866.               {NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(NetworkAddress)},+
  867.               {EarlyTokenRelease,$(NoTitle),$(!REG_VT_SZ),$(EarlyTokenRelease)},+
  868.               {DataRate,$(NoTitle),$(!REG_VT_DWORD),$(DataRate)},+
  869.               {PacketSize,$(NoTitle),$(!REG_VT_DWORD),$(PacketSize)},+
  870.               {PseudoDma,$(NoTitle),$(!REG_VT_SZ),$(PseudoDma)},+
  871.               {BIOSFix,$(NoTitle),$(!REG_VT_SZ),$(BIOSFix)},+
  872.             }
  873.         EndIf
  874.         Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  875.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  876.             goto ShellCodeError
  877.         EndIf
  878.         Set RegistryErrorIndex = $($R0)
  879.         IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  880.             CloseRegKey $(KeyParameters)
  881.             goto fatalregistry
  882.         EndIf
  883.     EndIf
  884.     CloseRegKey $(KeyParameters)
  885.     EndWait
  886.     goto successful
  887. bindingadapter = +
  888.     Set Error = "Binding: Sorry, not yet implemented."
  889.     goto fatal
  890. removeadapter = +
  891.     IfStr(i) $(ProductKeyName) == $(!NTN_RegBase)
  892.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer),+
  893.           $(ProductSoftwareName)
  894.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  895.             goto ShellCodeError
  896.         EndIf
  897.         Set RegistryErrorIndex = $($R0)
  898.         IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  899.             goto fatalregistry
  900.         EndIf
  901.     Else
  902.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer),+
  903.           $(ProductHardwareName), $(!NTN_RegBase)
  904.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  905.             goto ShellCodeError
  906.         EndIf
  907.         Set RegistryErrorIndex = $($R0)
  908.         IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  909.             goto fatalregistry
  910.         EndIf
  911.     EndIf
  912.     goto end
  913. UpgradeSoftware = +
  914.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase)\NetRules +
  915.         $(MAXIMUM_ALLOWED) KeyProduct
  916.     IfStr $(KeyProduct) != $(KeyNull)
  917.         GetRegValue $(KeyProduct), "InfName", InfName
  918.         QueryListSize ListSize $(InfName)
  919.         Set !UG_Filename = *($(InfName), $(ListSize))
  920.         CloseRegKey $(KeyProduct)
  921.     Else
  922.         goto fatalregistry
  923.     EndIf
  924.  
  925.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) +
  926.         $(MAXIMUM_ALLOWED) KeyProduct
  927.     IfStr $(KeyProduct) != $(KeyNull)
  928.         Install "Install-Update"
  929.         IfStr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  930.             goto fatal
  931.         EndIf
  932.         SetRegValue $(KeyProduct) {MajorVersion, $(NoTitle),+
  933.             $(!REG_VT_SZ), $(ProductMajorVersion)}
  934.         SetRegValue $(KeyProduct) {MinorVersion, $(NoTitle),+
  935.             $(!REG_VT_SZ), $(ProductMinorVersion)}
  936.         CloseRegKey $(KeyProduct)
  937.     Else
  938.         goto fatalregistry
  939.     EndIf
  940.     goto end
  941. successful = +
  942.     goto end
  943. abandon = +
  944.     ForListDo $(OEM_ABANDON_OPTIONS)
  945.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer),+
  946.           $(ProductSoftwareName), $($)
  947.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  948.             goto ShellCodeError
  949.         EndIf
  950.         Set RegistryErrorIndex = $($R0)
  951.         IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  952.             goto fatalregistry
  953.         EndIf
  954.     EndForListDo
  955.     IfStr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  956.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer),+
  957.           $(ProductSoftwareName), FALSE
  958.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  959.             goto ShellCodeError
  960.         EndIf
  961.         Set RegistryErrorIndex = $($R0)
  962.         IfStr(i) $(RegistryErrorIndex) != NO_ERROR
  963.             goto fatalregistry
  964.         EndIf
  965.     EndIf
  966.     goto end
  967. warning = +
  968.     Shell $(subroutineinf), SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  969.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  970.         goto ShellCodeError
  971.     EndIf
  972.     IfStr(i) $($R1) == "OK"
  973.         goto $(to)
  974.     Else-IfStr(i) $($R1) == "CANCEL"
  975.         goto $(from)
  976.     Else
  977.         goto "end"
  978.     EndIf
  979. nonfatalinfo = +
  980.     Set CommonStatus    = STATUS_USERCANCEL
  981.     Set Severity        = STATUS
  982.     goto nonfatalmsg
  983. nonfatal = +
  984.     Set Severity        = NONFATAL
  985.     goto nonfatalmsg
  986. nonfatalmsg = +
  987.     IfStr(i) $(Error) == ""
  988.         Set Severity = NONFATAL
  989.         Shell $(UtilityInf), RegistryErrorString, "SETUP_FAIL"
  990.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  991.             goto ShellCodeError
  992.         EndIf
  993.         Set Error = $($R0)
  994.     EndIf
  995.     Shell $(subroutineinf), SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  996.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  997.         goto ShellCodeError
  998.     EndIf
  999.     IfStr(i) $($R1) == "OK"
  1000.         goto $(from)
  1001.     Else
  1002.         goto "end"
  1003.     EndIf
  1004. fatalregistry = +
  1005.     Shell $(UtilityInf), RegistryErrorString, $(RegistryErrorIndex)
  1006.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  1007.         goto ShellCodeError
  1008.     EndIf
  1009.     Set Error = $($R0)
  1010.     goto fatal
  1011. fataldetect = +
  1012.     Shell $(UtilityInf), RegistryErrorString, CANNOT_DETECT
  1013.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  1014.         goto ShellCodeError
  1015.     EndIf
  1016.     Set Error = $($R0)
  1017.     Goto fatal
  1018. fatal = +
  1019.     IfStr(i) $(Error) == ""
  1020.         Shell $(UtilityInf), RegistryErrorString, "SETUP_FAIL"
  1021.         IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  1022.             goto ShellCodeError
  1023.         EndIf
  1024.         Set Error = $($R0)
  1025.     EndIf
  1026.     Shell $(subroutineinf), SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  1027.     IfInt $($ShellCode) != $(!SHELL_CODE_OK)
  1028.         goto ShellCodeError
  1029.     EndIf
  1030.     goto setfailed
  1031. ShellCodeError = +
  1032.     Set DlgType        = "MessageBox"
  1033.     Set STF_MB_TITLE    = $(ShellCodeErrorTitle)
  1034.     Set STF_MB_TEXT     = $(ShellCodeErrorText)
  1035.     Set STF_MB_TYPE     = 1
  1036.     Set STF_MB_ICON     = 3
  1037.     Set STF_MB_DEF        = 1
  1038.     ui start "Error Message"
  1039.     goto setfailed
  1040. setfailed = +
  1041.     Set CommonStatus = STATUS_FAILED
  1042.     IfStr(i) $(OEM_ABANDON_ON) == TRUE
  1043.         Set OEM_ABANDON_ON = FALSE
  1044.         goto abandon
  1045.     EndIf
  1046.     goto end
  1047. end = +
  1048.     goto term
  1049. term = +
  1050.     Return $(CommonStatus)
  1051. [Install-HelpFile]
  1052.     Set STF_VITAL        = ""
  1053.     Set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  1054.     AddSectionFilesToCopyList Files-Hlp $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1055.     AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1056.     Set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1057.     CopyFilesInCopyList
  1058.     exit
  1059. [Install-Option]
  1060.     Set STF_VITAL = ""
  1061.     IfStr(i) $(AddCopy) == "YES"
  1062.         AddSectionFilesToCopyList Files-$(Option) $(SrcDir) +
  1063.           $(!STF_WINDOWSSYSPATH)\drivers
  1064.     EndIf
  1065.     IfStr(i) $(DoCopy) == "YES"
  1066.         Set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1067.         CopyFilesInCopyList
  1068.     EndIf
  1069.     Exit
  1070. [Install-Update]
  1071.     Set STF_VITAL    = ""
  1072.     Set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  1073.     AddSectionFilesToCopyList Files-$(Option) $(SrcDir) +
  1074.       $(!STF_WINDOWSSYSPATH)\drivers
  1075.     AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1076.     AddSectionFilesToCopyList Files-Hlp $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1077.     AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1078.     Set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1079.     CopyFilesInCopyList
  1080.     Exit
  1081. [Source Media Descriptions]
  1082.     1  = "Windows NT Setup Disk #1"
  1083.     2  = "Windows NT Setup CD-ROM Disk"
  1084.     3  = "SK Driver Disk"
  1085. [ProductType]
  1086.     STF_PRODUCT  = Winnt
  1087.     STF_PLATFORM = I386
  1088. [Files-Inf]
  1089.     3,    OemSetup.inf,    SIZE=4000,    RENAME=$(!UG_Filename)
  1090. [Files-Hlp]
  1091.     3,    OemNadSk.hlp,    SIZE=13000
  1092. [Files-Dll]
  1093.     3,     OemNadSk.dll,    SIZE=11000
  1094. [Files-SKTOKNT]
  1095.     3,  SKTOKNT.sys, SIZE=40000
  1096. [LanguagesSupported]
  1097.     ENG
  1098. [OptionsTextENG]
  1099.     SKTOKNT_PCI  = "SysKonnect SK-NET Token Ring PCI Adapter"
  1100. ;        SKTOKNT_EISA = "SK-NET Token Ring ISA Adapter, EISA-configured"
  1101. ;        SKTOKNT_ISA  = "SK-NET Token Ring ISA Adapter, not EISA-configured"
  1102. ;        SKTOKNT_MCA  = "SK-NET Token Ring MCA Adapter"
  1103.  
  1104. [FileConstantsENG]
  1105.     ProCaption    = "Windows NT Setup"
  1106.     ProCancel    = "Cancel"
  1107.     ProCancelMsg    = "Windows NT Networking is not correctly installed.  "+
  1108.               "Are you sure you want to cancel copying files?"
  1109.     ProCancelCap    = "Network Setup Message"
  1110.     ProText1    = "Copying:"
  1111.     ProText2    = "To:"
  1112.     FunctionSKTOKNTTitle     = "SK-NET Token Ring Adapter Card Setup"
  1113.     ProductSoftwareSKTOKNTDescription= "SK-NET Token Ring Adapter Driver"
  1114.     ProductHardwareSKTOKNTDescription= "SK-NET Token Ring Adapter"
  1115.     ProductSoftwareSKTOKNTTitle     = "SK-NET Token Ring Adapter Driver"
  1116.     ProductHardwareSKTOKNTTitle     = "SK-NET Token Ring Adapter"
  1117.     ShellCodeErrorTitle         = "Error: "$(Function$(Option)Title)
  1118.     ShellCodeErrorText         = "Shell Code Error."
  1119. [DialogConstantsENG]
  1120.     Help        = "&Help"
  1121.     Exit        = "Cancel"
  1122.     OK        = "OK"
  1123.     Defaults    = "&Defaults"
  1124.     HelpContext    = ""
  1125.     Continue    = "Continue"
  1126.     Cancel        = "Cancel"
  1127. [FileDependentDlgIsaENG]
  1128.     HelpFile        = OemNadSk
  1129.     IDH_DB_OEMSK_TOKNT_INS    = 9200
  1130.     HelpContext        = $(IDH_DB_OEMSK_TOKNT_INS)
  1131.     MinID            = 9000
  1132.     MaxID            = 9999
  1133.     Caption         = $(Function$(Option)Title)
  1134.     DlgType         = RadioCombination
  1135.     DlgTemplate        = "TOK_ISA"
  1136.     Combo1Label        = "I/O &Port Address:"
  1137.     Combo2Label        = "&IRQ Level:"
  1138.     Combo3Label        = "&DMA Channel:"
  1139.     Combo4Label        = "Data &Rate:"
  1140.     Combo5Label        = "Packet Si&ze:"
  1141.     Edit1Label        = "Network &Address:"
  1142.     DipSwitchInfo        = "Please verify the setting of the DIP switches."
  1143.     Combo1List        = $(IoBaseAddressHexList)
  1144.     Combo1Out        = $(IoBaseAddress)
  1145.     Combo2List        = $(IrqList)
  1146.     Combo2Out        = $(IrqLevel)
  1147.     Combo3List        = $(DmaChannelList)
  1148.     Combo3Out        = $(DmaChannel)
  1149.     Combo4List        = $(DataRateList)
  1150.     Combo4Out        = $(DataRate)
  1151.     Combo5List        = $(PacketSizeList)
  1152.     Combo5Out        = $(PacketSize)
  1153.     ComboListItemsIn    = {Combo1List, Combo2List, Combo3List,+
  1154.                    Combo4List, Combo5List}
  1155.     ComboListItemsOut    = {Combo1Out, Combo2Out, Combo3Out,+
  1156.                    Combo4Out, Combo5Out}
  1157.     NotifyFields        = {NO, NO, NO, NO, NO}
  1158.     EditTextIn        = $(NetworkAddress)
  1159.     EditTextLim        = 17
  1160. [FileDependentDlgEisaENG]
  1161.     HelpFile        = OemNadSk
  1162.     IDH_DB_OEMSK_TOKNT_INS    = 9201
  1163.     HelpContext        = $(IDH_DB_OEMSK_TOKNT_INS)
  1164.     MinID            = 9000
  1165.     MaxID            = 9999
  1166.     Caption         = $(Function$(Option)Title)
  1167.     DlgType         = RadioCombination
  1168.     DlgTemplate        = "TOK_SLOT"
  1169.     Combo1Label        = "&Slot Number:"
  1170.     Combo2Label        = "Data &Rate:"
  1171.     Combo3Label        = "Packet Si&ze:"
  1172.     Edit1Label        = "Network &Address:"
  1173.     Combo1Out        = $(SlotNumber)
  1174.     Combo2List        = $(DataRateList)
  1175.     Combo2Out        = $(DataRate)
  1176.     Combo3List        = $(PacketSizeList)
  1177.     Combo3Out        = $(PacketSize)
  1178.     ComboListItemsIn    = {Combo1List, Combo2List, Combo3List}
  1179.     ComboListItemsOut    = {Combo1Out, Combo2Out, Combo3Out}
  1180.     NotifyFields        = {NO, NO, NO}
  1181.     EditTextIn        = $(NetworkAddress)
  1182.     EditTextLim        = 17
  1183. [FileDependentDlgMcaENG]
  1184.     HelpFile        = OemNadSk
  1185.     IDH_DB_OEMSK_TOKNT_INS    = 9202
  1186.     HelpContext        = $(IDH_DB_OEMSK_TOKNT_INS)
  1187.     MinID            = 9000
  1188.     MaxID            = 9999
  1189.     Caption         = $(Function$(Option)Title)
  1190.     DlgType         = RadioCombination
  1191.     DlgTemplate        = "TOK_SLOT"
  1192.     Combo1Label        = "&Slot Number:"
  1193.     Combo2Label        = "Data &Rate:"
  1194.     Combo3Label        = "Packet Si&ze:"
  1195.     Edit1Label        = "Network &Address:"
  1196.     Combo1Out        = $(SlotNumber)
  1197.     Combo2List        = $(DataRateList)
  1198.     Combo2Out        = $(DataRate)
  1199.     Combo3List        = $(PacketSizeList)
  1200.     Combo3Out        = $(PacketSize)
  1201.     ComboListItemsIn    = {Combo1List, Combo2List, Combo3List}
  1202.     ComboListItemsOut    = {Combo1Out, Combo2Out, Combo3Out}
  1203.     NotifyFields        = {NO, NO, NO}
  1204.     EditTextIn        = $(NetworkAddress)
  1205.     EditTextLim        = 17
  1206. [FileDependentDlgPciENG]
  1207.     HelpFile        = OemNadSk
  1208.     IDH_DB_OEMSK_TOKNT_INS    = 9203
  1209.     HelpContext        = $(IDH_DB_OEMSK_TOKNT_INS)
  1210.     MinID            = 9000
  1211.     MaxID            = 9999
  1212.     Caption         = $(Function$(Option)Title)
  1213.     DlgType         = RadioCombination
  1214.     DlgTemplate        = "TOK_PCI"
  1215.     Combo1Label        = "Bus / &Slot:"
  1216.     Combo2Label        = "Data &Rate:"
  1217.     Combo3Label        = "Packet Si&ze:"
  1218.     CheckBox1        = "&PseudoDma"
  1219.     CheckBox2        = "&BIOSFix"
  1220.     Edit1Label        = "Network &Address:"
  1221.     Combo1Out        = $(SlotNumber)
  1222.     Combo2List        = $(DataRateList)
  1223.     Combo2Out        = $(DataRate)
  1224.     Combo3List        = $(PacketSizeList)
  1225.     Combo3Out        = $(PacketSize)
  1226.     ComboListItemsIn    = {Combo1List, Combo2List, Combo3List}
  1227.     ComboListItemsOut    = {Combo1Out, Combo2Out, Combo3Out}
  1228.     NotifyFields        = {NO, NO, NO}
  1229.     EditTextIn        = $(NetworkAddress)
  1230.     EditTextLim        = 17
  1231.     CBOptionsGreyed        = {}
  1232.     CheckItemsIn        = {$(PseudoDma), $(BIOSFix)}
  1233. ;
  1234. ; OemSetup.inf version 1.67
  1235.